const store = {
  state: {
    a: 10,
  },

  mutations: {
    changeA(state, payload) {
      console.log("changeA", state, payload);
    },
  },

  commit(mutationName, payload) {
    // 判断，判断第一个参数的值是字符串还是对象

    if (typeof mutationName === "object") {
      // 对象

      // 1. 拿出对象中的 type 属性的值
      const str = mutationName.type;
      // 2. 根据 str 去找 mutation
      this.mutations[str](this.state, mutationName);
    } else {
      this.mutations[mutationName](this.state, payload);
    }
  },
};

// store.commit("changeA", 123);

store.commit({
  type: "changeA",
  number: 123,
});

// this.$emit('abc', 456)

// this.$on('abc', (abc) => {

// })
